home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / pcboard / pbs_v15.zip / PBSTRING.HIS < prev    next >
Text File  |  1996-01-27  |  19KB  |  413 lines

  1.                        PBstring History/Revision Notes
  2.  
  3. [v1.0 ßeta 1]
  4. 08/20/95 - Initial release to ßeta testers
  5.  
  6. [v1.0 ßeta 2]
  7. 08/24/95 - Included coding to convert non-255 char. length string files to
  8.              255 char. length files.
  9.  
  10.          - Increased capability of program to handle lines > 255 characters.
  11.              Maximum string (as in strings to remove to STR file) is still
  12.              255 characters.
  13.  
  14.          - Fixed misspelling in PBS-FILE.EXC from ROPOLVL.C to RIPOVL.C
  15.  
  16.          - Included more PBS-CHAR.EXC and PBS-STRG.EXC entries to make
  17.              sure that certain items do not get processed.
  18.  
  19.          - Added \033 to the list of "automatic" exclusions.
  20.  
  21. [v1.0 ßeta 3]
  22. 08/25/95 - Added coding in that will allow you to use the string file if it
  23.              exists in the current directory, or back it up and copy (or
  24.              create new) from the GFILES directory if you choose not to use
  25.              it.
  26.  
  27.          - Added coding in so it'll ask you if you want PBstring to move STR
  28.              file back into your GFILES directory.
  29.  
  30.          - Fixed it so the following type lines, with comments, WOULD be
  31.              processed:
  32.  
  33.                printf("This will be processed!\r"); // processed correctly
  34.                printf("This will be processed!\r"); /* processed correctly */
  35.  
  36.              whereas these kind of lines will not:
  37.  
  38.                // printf("This will not be processed!\r\n");
  39.                /* printf("This will not be processed!\r\n"); */
  40.  
  41. [v1.0 public release]
  42. 08/26/95 - Added opening Power and Responsibilities for first time run.
  43.  
  44.          - Added code to back-up STR file after copying it from the GFILES
  45.              directory.
  46.  
  47. [v1.1 ßeta 1]
  48. 08/29/95 - Changed the string handling code a bit.  Now the program runs
  49.              approximately 50.7% faster than version 1.0.  It is now 61.2%
  50.              faster if the /Q (Quiet mode) switch is used.
  51.  
  52. [v1.1 ßeta 2]
  53. 08/30/95 - Added the following functions to the PBS-FUNC.EXC file:
  54.                strtok()
  55.                sscanf()
  56.                ini_read_boolean()  -- ACHAT
  57.                ini_read_string()   -- ACHAT
  58.                ini_read_number()   -- ACHAT
  59.                auto_mail()         -- NEWMAIL (?)
  60.              *NOTE* the last four functions _may not_ need to be exempted --
  61.              I included them here for safety's sake.
  62.  
  63.          - Added the following character strings to "automatic" exemptions:
  64.                _on_[]              -- LISTPLUS
  65.                _off_[]             -- LISTPLUS
  66.  
  67.          - Added /QS switch to turn off sounds.
  68.  
  69.          - Fixed a stupid variable error in the code that effectively
  70.              disabled the No option if the /Y switch was used.
  71.  
  72.          - Added code to handle multiline printf() type statements.  These
  73.              are not supposed to be processed.  Lines like are now properly
  74.              handled:
  75.  
  76.                printf("TESTTESTTESTTEST"
  77.                       "SECONDSECONDSECOND"
  78.                       "THIRDTHIRDTHIRD");
  79.  
  80.              See documentation for any caveats!  (Section 3.4)
  81.  
  82.          - Found an unreported bug.  Fixed those preprocessor directives and
  83.              multiline variable declarations that could have had problems
  84.              handling lines with the \" (C's escape code quote character) in
  85.              them.
  86.  
  87.          - Streamlined the unresolved preprocessor, comment, and variable
  88.              declaration EOF coding (unresolved) so that your machine will
  89.              gracefully exit instead of locking up.
  90.  
  91.          - Fixed multiline preprocessor directive checking so it'll only
  92.              look for the absence of a terminating \ at the end of a line.
  93.              This means that line like:
  94.  
  95.                "TEST\"OK?\""
  96.  
  97.              will no longer cause it to prematurely exit from the checking
  98.              code.
  99.  
  100.          - Added /1 switch.  This will allow use (without conversion) and
  101.              creation of 100 character long string files.  Included mainly
  102.              for compatibility's sake.
  103.  
  104.          - Added /CACHE: switch.  This allows the user to change the string
  105.              file cache from the the default 4096 bytes to what they specify.
  106.              Checking is done to make certain the the amount specified does
  107.              NOT exceed the amount of memory available.  May decrease
  108.              processing times when large string files are used.
  109.  
  110.          - New maximum string file number that can be used is 14.  So 0 to
  111.            14 are legitimate string file numbers.  (Using a 4 bit number.)
  112.  
  113.          - Added ini_get() to the list of PBS-FUNC.EXC -- primarily for
  114.              the WFC.C file from FMD.
  115.  
  116.          - Further refined multiline printf() type processing code.
  117.  
  118.          - Display string file cache length during processing.
  119.  
  120.          - Made it so the log would print C escape codes (\n, \r, etc.)
  121.              instead of the confusion converted codes.
  122.  
  123.          - Make the F key more responsive during processing.  Any other key
  124.              will still abort only between files.
  125.  
  126. [v1.1 ßeta 3]
  127. 09/01/92 - Changed the text in the PBSTRING.REG file that printed PBFILES
  128.              instead of PBSTRING
  129.  
  130.          - Added /P switch to allow creation of registration form at any
  131.              time.
  132.  
  133.          - Added /B!{fn} -- build {fn} as inclusion file, do not run program
  134.  
  135.          - Fixed the character counting code.  Before, a line like:
  136.  
  137.              "This is a %s test %-4s"
  138.  
  139.            would be 18 characters.  (The % sign caused the code to subtract
  140.            2 from the overall length.)  With the new coding, the line is
  141.            correctly counted as having 16 characters.  The %-4s portion (and
  142.            all other legitimate C print formatting characters) is fixed.
  143.  
  144. [v1.1 public release] - 09/05/95  (mistakenly called 11ß04 internally)
  145.  
  146. [v1.2 ßeta 1 - PBstring]
  147. [v1.0 ßeta 1 - PBconfig]
  148. [v1.0 ßeta 1 - PBreplace]
  149. 09/21/95 - Continued to change the coding internally from character array
  150.              based processing to pointer processing.  These changes will
  151.              make PBstring all that much faster.
  152.  
  153.          - Added text in PBSTRING.DOC about the number of FILES a system
  154.              needs for PBstring to run.
  155.  
  156.          - Added my mailing address so ya'll would know where to send
  157.              registrations.
  158.  
  159.          - /SE switch to allow you to directly enter the string file locator
  160.              editor.
  161.  
  162.          - Made it so that when you updated to a new INI file, your old
  163.              information is not erased.
  164.  
  165.          - Increased the capacity of the program to keep track of total
  166.              values from 65,535 to 4,294,967,295.
  167.  
  168.          - PBstring is now being compiled using 80386 instruction codes.
  169.  
  170.          - For ease of use, and for better programming, I've made the entire
  171.              configuration section a stand-alone EXE.  Fully "callable" from
  172.              within PBstring and PBreplace, or independently as PBconfig.
  173.  
  174.          - /W{disk} to specify a work disk (RAM drive) for faster processing.
  175.              This has the results in a 13% speed increase in the extraction
  176.              processing and a 27% speed increase in replacement.
  177.  
  178.          - PBreplace (PBREPL.EXE) will take the strings from the STR files
  179.              and place them back into the C files -- replacing the
  180.              get_string[x]() statements.  This has 2 modes of operation --
  181.              each with multiple options.  This is a stand-alone program.
  182.  
  183. [v1.2 ßeta 2 - PBstring]
  184. [v1.0 ßeta 2 - PBconfig]
  185. [v1.0 ßeta 2 - PBreplace]
  186. 09/23/95 - Fixed a small problem in PBreplace that'd cause the program to
  187.              freak out if the get_string[x]() statement had a non-numeral for
  188.              either number and the variable name as rather long.
  189.  
  190.          - Fixed it so that PBreplace would stop simply returning 0 for the
  191.              other get_string[x]()'s that used shorter variable names.  Log
  192.              entries will indicate these lines.
  193.  
  194.          - Fixed the /CACHE: coding.  Used to generate a "Null pointer
  195.              assignment" error.  Now the maximum setting is around 25k, maybe
  196.              a little more or a little less.
  197.  
  198.          - Improved maximum cache setting protection coding.  I had done this
  199.              in 1.2ß1, but, because of the disabling of the /CACHE: switch
  200.              did not document it.
  201.  
  202.          - Added the /CACHE: setting to the PBreplace program.
  203.  
  204.          - Added coding would only leave *.ORG and *.RPL files for those C
  205.              files that were actually modified.  Otherwise, the original C
  206.              file is kept.
  207.  
  208.          - Added progress indicator bars for files and lines processed in
  209.              PBreplace.
  210.  
  211.          - Added a little thing to PBstring and PBreplace that displays the
  212.              work drive and running total of how much room is left on the
  213.              work disk during processing.  Will automatically stop processing
  214.              once work disk drops to less than 25k of free space.
  215.  
  216.          - Added /Y switch to PBreplace so you can selectively choose which
  217.              strings you wish to replace.
  218.  
  219.          - Added screen updating and sound options to configuration editor.
  220.  
  221. [v1.2 ßeta 3 - PBstring]
  222. [v1.0 ßeta 3 - PBreplace]
  223. 09/24/95 - Made the ORG and RPL backups go to their own (incremental)
  224.              directories instead of continually cluttering the source dir.
  225.              SEE PBSTRING.DOC FILE FOR MORE INFORMATION, SECTION 1.6.
  226.  
  227.          - Streamlined the code a wee bit (found some redundant variables,
  228.              set up loop breaking conditions for increased speed, etc.).
  229.  
  230.          - Improved some log report entries.
  231.  
  232.          - Fixed it so the program would NOT crap out or freak if the INI file
  233.              had the incorrect number of lines in it (lines preceded with a
  234.              ; do NOT count and are not read as part of the configuration).
  235.              If this happens, however, the PBSTRING.INI is erased, and all
  236.              new values must be re-entered (how's it supposed to know which
  237.              line got deleted?).
  238.  
  239.          - Fixed no sound option in configuration, it was backwards.
  240.  
  241.          - Changed the string file name specifier editor a bit.  You may now
  242.              enter in just the string file's name (as in BBS, for BBS.STR).
  243.              Used this way the .STR is automatically appended as is the path
  244.              information to the string directory that you specified on the
  245.              main configuration screen.  If you enter in a full path to a
  246.              file (such as C:\CPP\TEST.STR) then this will be used.  In this
  247.              manner, NO .STR or path information is appended.
  248.  
  249.          - Made it so the file's actual size (not a set 25,000 bytes) was
  250.              compared against the room left in the work drive (if /W was
  251.              used).  If the file is bigger than the room left, the program
  252.              aborts.
  253.  
  254.          - (PBstring) When the /W (work drive) switch is used, the STR file
  255.              that is going to be processed is also placed in the work drive.
  256.              If this is set into a RAM disk, another 35% speed increase can
  257.              be had.
  258.  
  259.          - Cleaned up the coding dealing with moving around and pre-existing
  260.              string files.
  261.  
  262.          - (PBreplace) Fixed it so that when strings were replaced, the ASCII
  263.              equivalent C escape codes are translated back into the escape
  264.              codes themselves.
  265.  
  266.          - Fixed a bug that wouldn't allow for proper operation of the
  267.              100-byte to 255-byte string file conversion coding.  *NOTE* this
  268.              bug was introduced when I introduced the advanced caching.  As
  269.              a result, caching is OFF during conversion processing.  The
  270.              program will run slower during this phase.  Once you're using
  271.              255-byte files, the speed of the program is increase.
  272.  
  273.          - Removed the /CACHE: switch once and for all.  The program now
  274.              automatically assigns as many bytes to the cache as it can.
  275.              Most of the time, you'll have one half of the amount of HEAP
  276.              free, providing there is at least 19k of total HEAP free -- if
  277.              you have less, you'll get a cache size of 4,096 bytes.  If you
  278.              have less than 6k of HEAP, the cache is disabled.  I chose this
  279.              way because you get about a 20% increase in speed if you use 1/2
  280.              of the HEAP free (generally 10-14k).
  281.  
  282.          - Added a little thing where if the first character on a line in
  283.              PBSTRING.INC, PBS-FILE.EXC, PBS-FUNC.EXC, PBS-STRG.EXC, or
  284.              PBS-CHAR.EXC is a √ (ASCII 251), then that line is ignored.  To
  285.              make a √, press and hold your ALT key and type 251 on your
  286.              *NUMBER PAD*.  It will not work if you use your topline numbers.
  287.  
  288. [v1.2 PBstring public release]  \
  289. [v1.0 PBreplace public release]  - 09/29/95
  290. [v1.0 PBconfig public release]  /
  291.  
  292. [v1.3 ßeta 1 - PBstring]
  293. [v1.1 ßeta 1 - PBreplace]
  294. 10/30/95 - Fixed a really small bug that would cause unresolved multiline
  295.              quote checking for strings that have a double \ before a ", like
  296.              "\\" or "X:\\"   The program wasn't recognizing the second " as
  297.              a closing quote due to the preceding \.  This now correctly
  298.              assesses the \\ before the " and closes the string.
  299.  
  300.          - If no changes are made to any of the C files, the STR file in the
  301.              working directory is now automatically deleted since no changes
  302.              were made to that file, either.  This stops the program from
  303.              unnecessarily asking you if you want to use a STR file that
  304.              exists in the current directory.
  305.  
  306.          - PBstring and PBreplace now remove any EMPTY storage directories.
  307.  
  308.          - [PBreplace]  Added /* switch.  Allows PBreplace to replace ALL
  309.              get_string[x]()'s, even those within comment blocks.
  310.  
  311.          - Fixed the "overflow" and "skip" problems that the progress
  312.              indicator was having.
  313.  
  314. [v1.3 ßeta 2 - PBstring]
  315. [v1.1 ßeta 2 - PBreplace]
  316. [v1.1 ßeta 1 - PBconfig]
  317. 11/07/95 - Much code streamlining done in all three programs.
  318.  
  319.          - Fixed an extremely rare bug that would cause the program to crash
  320.              if logging was on and strings were > 160 chracters in length.
  321.  
  322.          - [PBstring] Fixed a bug that was in there that did not properly
  323.              handle a /* that appeared after an opening "
  324.  
  325. [v1.3 ßetas 3, 4 and 5 - PBstring]
  326. [v1.1 ßetas 3, 4 and 5 - PBreplace]
  327. [v1.1 ßetas 3, 4 and 5 - PBconfig]
  328. 11/09/95 - Found some bugginess related with my improper use of sprintf() and
  329.              fprintf() functions.  All of these have been repaired.
  330.  
  331.          - Added /DEBUG to all programs.  Although the programs will still
  332.              detect the presence of the DEBUG.XXX file, the /DEBUG command
  333.              line switch has been installed to take its place.  I think
  334.              this'll be much easier than creating and deleting DEBUG.XXX
  335.              files.
  336.  
  337. 11/28/95 - [PBstring and PBreplace ß6] - Removed all code that crippled the
  338.            programs.  Using unregistered delays instead.
  339.  
  340. 12/02/95 - Added an error screen that NO ONE will miss.
  341.  
  342. [v1.3 (string), v1.1 (replace & config) FINAL releases 12/02/95]
  343.  
  344. [PBstring v1.4ß1]
  345. 12/04/95 - Changed the program so that the DTE file will not be updated
  346.              unless changes are made to the STR file.
  347.  
  348. [PBstring v1.4ß2]
  349. 12/06/95 - Added coding to support the C escape codes that are followed by
  350.              ASCII codes.  These are the codes like \003 or \007.  The
  351.              codes are replaced with their equivalent literal ASCII codes.
  352.              (In the case of \003, it'll be a heart.)  See the docs for
  353.              caveats!
  354.  
  355. [PBstring v1.4ß3/ß4]
  356. 01/06/96 - Fixed a bug that would cause it to give a multiline comment EOF
  357.              error.  These were caused by a */ that appeared on a line AFTER
  358.              a ; and did not have a "
  359.  
  360.          - Fixed a cosmetic thing where the Y/n switch would show string over
  361.              80 characters "wrapped around" the screen.  Now it'll display up
  362.              to 78 characters, with a »> appended to the end if it is longer.
  363.  
  364.          - Removed 2nd 60-second delay.
  365.  
  366.          - Added SETUP.EXE -- to be run before any other program is run for
  367.              the first time.
  368.  
  369.          - Changed input coding in PBreplace and PBconfig to allow for
  370.              editable fields.
  371.  
  372. [PBstring v1.4ß5]
  373. 01/14/96 - Removed random keypress from PBstring and PBreplace.
  374.  
  375.          - Implemented a SHARE specific byte copier (to alleviate file
  376.              sharing errors).  If SHARE is not loaded, a DOS copy is used.
  377.              This new routine will ignore native Windows or OS/2 SHARE-type
  378.              emulations since that has not caused any reported problems.
  379.  
  380. [PBstring v1.40 - FINAL]
  381. 01/21/96 - Tweaked the data entry process for PBconfig's STR file location
  382.              editor.
  383.  
  384. [PBstring v1.5ß1]
  385.   /  /   - (PBstring/PBreplace) Fixed a bug that wouldn't properly process
  386.              these few types of comment lines:
  387.                //******
  388.                // **** "testtest" ***
  389.                /*  This is a "test"  */
  390.                /*  I put a " down here */
  391.  
  392.          - (PBstring) Ensured that the the copying of the STR file back to
  393.              string directory was successful.  Notifies user if it was not
  394.              and does not delete the new STR file in the source directory.
  395.              (If successful, the STR file in the source dir is deleted.)
  396.  
  397.          - (PBstring) [Actually this was done for v1.4, but I forgot to
  398.              document it here.]  Added a few more strings to the default
  399.              exclusions in PBS-STRG.EXC.  Added BBS.C to PBS-FILE.EXC. (BBS.C
  400.              *can* have strings removed, but only in certain functions --
  401.              this should be done by hand to ensure that they work reliably.)
  402.              Added get_string and get_stringx to the PBS-CHAR.EXC file.
  403.  
  404.          - (PBreplace) Removed second 60 second unregistered delay.  I meant
  405.              to do this in v1.4, but somehow it slipped past me.
  406.  
  407.          - (PBstring) Fixed it so that PBstring will no longer take out
  408.              strings LONGER than the maximum allowed by the STR file being
  409.              written to.  Keeps strings from being chopped off.
  410.  
  411.          - (PBstring/PBreplace)  Fixed a problem that was not letting these
  412.               programs properly handle 100 character length string files.
  413.